Программы
Книги
Статьи

27_img

РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ2004

Рассматривается технология проектирования микроэлектронных систем на основе микроконтроллеров и БИС программируемой логики (ПЛИС). Описаны «ядра» MCS-51 и А VR современных микроконтроллеров, микроконвертер АВцС812 фирмы Analog Devices, семейства ПЛИС на примере изделий фирмы Altera.


Скачать книгу  

Описание

Системы на микроконтроллерах и БИС программируемой логики
Рассматривается технология проектирования микроэлектронных систем на основе мик-
роконтроллеров и БИС программируемой логики (ПЛИС). Описаны «ядра» MCS-51 и А VR
современных микроконтроллеров, микроконвертер АВцС812 фирмы Analog Devices,
семейства ПЛИС на примере изделий фирмы Altera. Рассмотрено проектирование
цифровых устройств на основе ПЛИС с использованием языка AHDL. Описаны раз-
личные средства программирования и отладки микропроцессорных контролеров.
Книга включает многочисленные примеры схем и фрагменты программ, которые
могут быть использованы в практической работе.
Одновременно с вопросами проектирования обсуждаются проблемы обучения
студентов и повышения квалификации специалистов, возникающие в связи с быст-
рым изменением элементной базы. В книге описаны учебные практикумы, постро-
енные по принципу «делай как я» и позволяющие быстро передать практические
навыки разработки систем на основе рассматриваемых микроконтроллеров и ПЛИС.
Особенностью продемонстрированного подхода к обучению является использова-
ние только профессиональных инструментальных средств и методов, что исключает
необходимость дальнейшего переучивания.
Книга для широкого круга специалистов в области проектирования микроэлек-
тронных систем, аппаратуры и программного обеспечения. Материал соответству-
ет ряду учебных курсов, необходим преподавателям и студентам.
Текст печатается в авторской редатсции.
ББК 32.97


СОДЕРЖАНИЕ
От авторов 6
Глава 1. Разработка систем на микроконтроллерах и ПЛИС 9
1.1. Предпосылки нового подхода к проектированию 9
1.2. Технология разработки микропроцессорных
контроллеров 12
1.3. Квазипараллельные процессы в микроконтроллерных
системах управления 18
1.4. Спецификация сигналов управления 34
1.5. Особенности систем управления на микроконтроллерах
и ПЛИС 45
Глава 2. Архитектура MCS-51 и микроконтроллеры Atmel АТ89 52
2.1. Особенности архитектуры MCS-51 52
2.2. Структура микроконтроллеров MCS-51 54
2.3. Организация памяти и программно доступные ресурсы 59
2.4. Синхронизация, тактовая сетка, циклы команд 62
2.5. Методы адресации и система команд 67
2.6. Система прерываний 79
2.7. Параллельные порты 82
2.8. Таймеры/счетчики 87
2.9. Последовательный порт 89
2.10. Режимы пониженного энергопотребления 94
2.11. Микроконтроллеры типа 8хС52 95
2.12. Микроконтроллеры семейства АТ89 фирмы Atmel 102

2.12.1. Программирование flash-памяти программ 104
2.12.2. Микроконтроллеры AT89S 105
2.12.3. Микроконтроллеры AT89C51RC/55WD 110
2.12.4. Микроконтроллер T89C51RD2 112
2.12.5. Микроконтроллеры с уменьшенным числом
выводов АТ89С1051/2051/4051 ИЗ
2.12.6. Алгоритм последовательной загрузки
flash-памяти 114
2.13. Другие микроконтроллеры MCS-51 с flash-памятью программ..115


Глава 3. Микроконвертер AduC8i2 фирмы Analog Devices 120
3.1 Структура микроконвертера AD|a.812 120
3.2. Организация памяти и программно доступные ресурсы 124
3.3- Аналого-цифровой преобразователь 129
3.4. Цифро-аналоговые преобразователи 135
3.5- Таймеры/счетчики 136
3.6. Последовательные интерфейсы UART, 1^С, SPI 139
3.7. Система прерываний 147
3.8. Внутреняя flash-память программ и данных 149
3.9. Монитор напряжения питания и сторожевой таймер 150
Глава 4. Микроконтроллеры фирмы Atmel с архитектурой AVR 152
4.1. Особенности семейства AVR 152
4.2. Структура и функционирование микроконтроллера AT90megal03
155
4.3- Методы адресации исистема команд 164
4.4. Параллельные порты 176
4.5. Система прерываний 182
4.6. Таймеры-счетчики .- 187
4.7. Последовательные интерфейсы - SPI и UART 202
4.8. Аналоговый компаратор и АЦП 211
4.9. Пример реализации широтно-импульсного модулятора с
использованием встроенного счетчика-таймера 216
Глава 5. Проектирование цифровых устройств на БИС
программируемой логики 222
5.1. Основные типы и семейства ПЛИС фирмы Altera 222
5.2. Система проектирования МAX+plusH 230
5.3. Графический ввод схемы и функциональная симуляция
в системе MAX+pIusH 233
5.4. Описание схемы на AHDL, использование монитора
иерархии проекта МAX-1-plusII 240
5.5. Проект АЛУ RISC-микроконтроллера 245
5.6. Язык AlteraHDL 257

5.6.1. Структура программы на языке AHDL 257
5.6.2. Числа 264
5.6.3. Имена 264
5.6.4. Константы 266
5.6.5. Переменные 267
5.6.6. Порты 267
5.6.7. Цепи 267
5.6.8. Группы, шины (группы цепей) 268
5.6.9. Примитивы 268


5.6.10. Арифметические и логические выражения 269
5.6.11. Комбинационная логика 274
5.6.12. Последовательностная логика 277
5.6.13. Машина состояний 279
5.7. Комплекс учебных средств «Проектирование цифровых
устройств на ПЛИС» 282
Глава 6. Инструментальные и учебные средства 287
6.1. Средства для разработки систем на
микроконтроллерах и ПЛИС 287
6.2. Средства разработки програмного обеспечения 288
6.3. Средства отладки в реальном масштабе времени 294

6.3.1. Одноплатные контроллеры, отладочные платы 296
6.3.2. Эмулятор ПЗУ/логический анализатор
на основе FPGA 304
6.3.3. Схемные эмуляторы 307
6.4. Средства программирования микросхем энергонезависимой
памяти, микроконтроллеров и ПЛИС 314
6.5. Учебные практикумы микропроцессорной техники и ПЛИС 326
Приложение 1. Система команд
микроконтроллеров MCS-51 330
Приложение 2. Система команд
микроконтроллеров AVR фирмы Atmel 365
Литература 399


от АВТОРОВ
Современный этап развития микропроцессорных систем управления
характеризуется комбинированным применением микроконтроллеров и БИС
программируемой логики (ПЛИС). Это позволяет значительно улучшить
характеристики систем на основе известных и освоенных разработчиками
микроконтроллерных архитектур за счет дополнения их специализированными
блоками, реализованными с учетом особенностей объектов управления.
Значительно ускоряют проектирование и конструирование полноцикловые
системы автоматизации проектирования типа EDA (Electronic Design Automation),
пришедшие на смену традиционным системам типа CAD (Computer Aided
Design), которые помогали разработчику на отдельных этапах, например при
проектировании печатных плат.
В области микроконтроллеров, на наш взгляд, наиболее широкий круг
задач покрывают семейства с архитектурой MCS-51 (архитектура фирмы Intel) и
AVR фирмы Atmel (название этой фирмы является аббревиатурой от Advanced
Technology for Memory and Logic).
Архитектура MCS-51 получила в последнее время новый импульс развития
с появлением таких приборов, как 89С51 фирм Atmel и Philips, ADuC812 фирмы
Analog Devices, W78 фирмы Winbond, AN21 фирмы Cypress, Р-51 фирмы
Cybernetic Micro Systems и ряда других. В них на одном кристалле с ядром MCS-
51 объединены flash-память объемом до 64 Кбайт, 12-разрядные АЦП и ЦАП,
интерфейсы USB, CAN и (E)ISA. Это дает возможность разработчикам
использовать при решении новых задач большой имеющийся задел.
Дополнительные возможности предоставляют версии микроконтроллеров MCS-
51 с пониженным до 1,8 В напряжением питания, а также приборы со сжатой
тактовой сеткой и повышенной (до 40 МГц) тактовой частотой.
Микроконтроллеры семейства AVR фирмы Atmel, появившиеся на
мировом рынке в 1997г., имеют современную RISC-архитектуру, которая в
сочетании с технологией flash-памяти обеспечивает очень хорошие показатели по
таким критериям, как скорость выполнения кода программы, эффективность
генерации кода при использовании языков высокого уровня (поддержка ЯВУ
системой команд), низкая цена.
Важным преимуществом некоторых микроконтроллеров AVR является их
совместимость по функциям выводов с микроконтроллерами архи-


от АВТОРОВ
тектуры MCS-51. Это позволяет во многих случаях увеличить производи-
тельность имеющейся системы управления посредством замены микрокон-
троллера, разработки и отладки рабочей программы.
Одним из наиболее известных производителей ПЛИС является фирма
Altera. Ее продукция стала одним из стандартов «де-факто», микросхемы и САПР
отличаются высокими характеристиками, весьма скромны требования к
инструментальному компьютеру разработчика. Особенностью проектирования на
ПЛИС является, в настоящее время, широкое использование высокоуровневых
языков описания аппаратуры AHDL, VHDL.
Несмотря на публикации в периодической печати, издание нескольких
монографий [1-3], ощущается значительный неудовлетворенный спрос на
информацию об элементной базе, методах и инструментах для разработки
реальных современных систем управления на микроконтроллерах и ПЛИС. Эта
книга создавалась как методическое и информационное ядро комплекса средств
проектирования и обучения, разработанных в лаборатории «Микропроцессорные
системы» МИФИ. В ней мы изложили свое понимание современного этапа
развития микропроцессорных систем управления, методов их проектирования,
рассмотрели характеристики современной элементной базы в части 8-разрядных
микроконтроллеров и ПЛИС, описали наши инструментальные и учебные
средства.
Одновременно с вопросами проектирования обсуждаются проблемы
обучения и повышения квалификации специалистов, возникающие в связи с
быстрым изменением элементной базы. Концептуально с книгой связаны учебные
практикумы, построенные по принципу «делай как я» и позволяющие быстро
передать практические навыки разработки систем управления на основе
рассматриваемых микроконтроллеров и ПЛИС. Главы книги включают примеры
схем и фрагменты программ, которые могут быть использованы при практической
работе, часть материала взята из упомянутых практикумов. Особенностью нашего
подхода является то, что в практической и учебной работе мы используем только
профессиональные инструментальные средства и методы, так что после разбора
примеров в дальнейшем не требуется переучивания.
Первая глава посвящена анализу современного состояния микропро-
цессорных систем управления, методов их проектирования с использованием
механизма квазипараллельных процессов и разделения функций между
микроконтроллерами и ПЛИС.
Во второй главе описывается архитектура MCS-51, ставшая одним из
стандартов «де-факто» на мировом рынке микроконтроллеров. Приводится
обзорная информация по микроконтроллерам серии АТ89 фирмы Atmel.
В третьей главе рассмотрен бесстселлер мирового рынка от фирмы Analog
Devices - микроконвертер AD}j.C8l2, представляющий собой однокристальную
систему сбора данных и управления, реализованную в виде комбинации
микроконтроллерного ядра MCS-51 с прецизионным 12-


СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
разрядным АЦП и двумя 12-разрядными ЦАП. Подобный прибор ждали и он
сразу же привлек большой интерес отечественных разработчиков.
В четвертой главе книги на примере микроконтроллера ATmegal03
рассмотрена фирменная RISC-архитектура AVR компании Atmel.
Пятая глава посвящена вопросам проектирования цифровых устройств на
ПЛИС. Рассмотрены: характеристики семейств ПЛИС фирмы Altera, способы
описания проекта в графической форме и на языке AHDL, обработка проекта
системой автоматизированного проектирования MAX+plusII, синтаксические
конструкции языка AHDL.
В шестой главе описаны инструментальные и учебные средства, раз-
работанные в лаборатории «Микропроцессорные системы» МИФИ.
Книга написана сотрудниками лаборатории «Микропроцессорные системы»
МИФИ, имеющими опыт проектирования микропроцессорных систем
космических приборов, сложных технологических установок и серийно
выпускаемых медицинских аппаратов. Отражен опыт обучения студентов и
специалистов промышленности.
Книга адресована широкому кругу специалистов в области проектирования
информационных и управляющих систем, микроэлектронной аппаратуры,
программного обеспечения. Изложенный материал соответствует планам ряда
учебных курсов, необходим преподавателям и студентам. Мы считаем, что эту
книгу целесообразно будет иметь библиотекам технических ВУЗов.
Благодарности:
Заведующий кафедрой микроэлектроники МИФИ профессор
В.С.Першенков тщательно поддерживает доброжелательную и творческую
атмосферу, которая издавна существует в коллективе. Ему и всем коллегам
выражаем признательность.
Профессор А.В.Шальнов, многие годы ректор МИФИ и заведующий
кафедрой микроэлектроники, первым проделал практикум «Проектирование
цифровых устройств на ПЛИС с использованием системы MAX+plusH».
Выражаем ему признательность за всегда внимательное и конструктивное
обсуждение всех проблем, желаем здоровья.
Профессор И.И.Шагурин в 1985г. основал отраслевую лабораторию
министерства электронной промышенности СССР «Микропроцессорные
системы» МИФИ. Свидетельствуем ему свое уважение и благодарим за
многолетнюю совместную работу.
Аспирант Л.Хохлов является одним из соавторов практикума «Про-
ектирование цифровых устройств на ПЛИС с использованием системы
MAX+plusII». В пятой главе книги параграф «Проект АЛУ RISC-
микроконтроллера» написан по материалам его работы. Выражаем ему свою
благодарность и желаем успехов.
Авторы считают приятной обязанностью выразить признательность
Т.Ю.Макаровой за помощь в подготовке книги.


РАЗРАБОТКА СИСТЕМ НА
МИКРОКОНТРОЛЛЕРАХ И БИС
ПРОГРАММИРУЕМОЙ ЛОГИКИ
1.1. Предпосылки нового подхода к
проектированию
До последнего времени в отечественной практике микроконтроллеры
использовались для создания систем управления, а БИС программируемой логики
(ПЛИС) служили элементной базой вычислителей и других специализированных
устройств.
Системы управления на основе микропроцессоров и микроконтроллеров
быстро получили массовое применение, поскольку были сформулированы ясные
правила их проектирования. Создание аппаратной компоненты велось на основе
магистрально-модульной структуры, прикладные программы вначале были
несложными и разрабатывались известными методами. В качестве метода
комплексной отладки аппаратуры и программного обеспечения фирмой Intel уже
в середине 70-х годов был предложен метод внутрисхемной эмуляции. Идея
совместной работы нескольких микропроцессорных БИС на одну магистраль в
области систем управления не получила развития. При необходимости увеличить
производительность системы разработчики шли по пути увеличения разрядности -
переходили от 8- к 16- или 32-разрядной микропроцессорной БИС. До середины
90-х годов увеличение разрядности означало, кроме прямого результата, переход
в


?\ о СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
другой класс качества микропроцессорных БИС. «Серьезные» 16- и 32-разрядные
микропроцессорные БИС имели передовые архитектурные и структурные
решения, которых в дешевых 8-разрядных изделиях быть не могло. Заметным
явлением в конце 80-х годов стало использование во вновь разрабатываемых 8- и
16-разрядных системах управления преимущественно микроконтроллеров.
Микропроцессоры соответствующей разрядности продолжают выпускаться для
поддержки серийных изделий. Основной областью применения
микропроцессоров стала 32-разрядная обработка данных в компьютерах,
сигнальных и коммуникационных процессорах.
Первоначально проектированием устройств на ПЛИС, из которых в нашей
стране использовались преимущественно микросхемы фирмы Xilinx, занимался
узкий круг высококвалифицированных специалистов, которые, по существу
используя традиционный «вентильный» подход, создавали уникальные
устройства. Проектирование велось и ведется на уровне графического ввода
схемы устройства и ручной трассировки межсоединений ячеек, характеризуется
большими сроками выполнения проектов, поскольку возможности БИС
существенно превышают возможности системы проектирования в плане
автоматизированного синтеза. По существу, это традиционное проектирование, но
на основе современных БИС и с привлечением САПР, поддерживающих
разработчика на отдельных этапах создания проекта.
Во второй половине 90-х годов ситуация существенно изменилась. Прежде
всего, изменилась топология микропроцессорных систем управления. В прежней
магистрально-модульной структуре схемы обслуживания отдельных узлов и
оконечных устройств были драйверами без интеллекта. Они выполняли функции
преобразования протоколов, служили усилителями мощности, но не имели
возможности обрабатывать свою информацию. Функцию обработки выполнял
ведущий микроконтроллер, к которому от периферийных схем тянулись жгуты
проводов. В литературе [4] приводятся данные, что автомобили на этом этапе
содержали до трех миль проводов весом более 90 кг. Быстрое удешевление
микроконтроллеров привело к целесообразности замены ими некоторых
периферийных схем. Появилась возможность предобработки локальных данных и
пересылки ведущему микроконтроллеру только результатов, да и то в случае
необходимости. Это привело к широкому внедрению существовавших последова-
тельных интерфейсов (RS-232, I^C, SPI) и разработке новых (CAN, Mi-croLan).
Топология развитых систем управления приобрела характер сети локальных
ведомых микроконтроллеров, связанных между собой и с ведущим
микроконтроллером через последовательные интерфейсы. В настоящее время
используются последовательные каналы как радиального, так и магистрального
типов, синхронные и асинхронные.


ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 1 1
Значительное улучшение характеристик собственно микроконтроллеров,
достигнутое в это время, связано с внедрением RISC-архитектур, flash-памяти
программ и EEPROM-памяти данных, прецизионных блоков АЦП и ЦАП.
Гарвардская архитектура микроконтроллеров (с раздельными матрицами памяти
программ и данных) позволила оптимизировать формат команд и обеспечить
выборку и выполнение большинства из них за один машинный такт.
Производительность, например, микроконтроллеров AVR фирмы Atmel достигла
значения 10 MIPS на частоте 10 МГц.
Технология flash-памяти обеспечила резкое снижение стоимости мик-
роконтроллеров с перезаписываемой памятью программ, позволив отказаться от
металлокерамических корпусов с кварцевым стеклом, которые были необходимы
для памяти с ультрафиолетовым стиранием. Важным аспектом для надежности и
мобильности систем стало появление в структуре микроконтроллеров
энергонезависимой памяти данных.
Совершенствование микроэлектронной технологии позволило фирме Analog
Devices объединить на одном кристалле ядро микроконтроллеров MCS-51 с
прецизионными 12-разрядными модулями АЦП и ЦАП. Микроконвертер
AD|j.812, по существу, является первой измерительно-управляющей
микропроцессорной системой на кристалле.
Важно, что передовые структурные решения в настоящее время применяются
в классе 8-разрядных микроконтроллеров. Именно здесь рост степени интеграции
направляется на реализацию новых функциональных модулей и структурных
решений.
Качественные изменения в области применения БИС программируемой
логики наступили, когда в качестве средств описания проектов стали применяться
языки высокого уровня типа HDL (Hardware Description Language). В это время
ведущие мировые производители ПЛИС путем постепенного согласованного
усложнения элементной базы и средств проектирования решили задачу
автоматического синтеза устройства на основе текстового описания. Таким
образом, появилась возможность значительно сократить сроки разработки
проектов на ПЛИС и сделать процесс проектирования доступным широкому
кругу инженеров. В настоящее время ПЛИС имеют степень интеграции до
нескольких миллионов эквивалентных вентилей, а их быстродействие
(ввода/вывода) достигло рубежа 400 МГц. Из наиболее известных производителей
ПЛИС следует отметить фирму Altera. Ее микросхемы и системы проектирования
дают возможность быстро реализовать нужную функцию на кристалле, используя
автоматическую компиляцию графического или текстового описания проекта.
Качество и стоимость такого метода проектирования вполне соответствуют
требованиям интеграции разрабатываемой схемы в структуру системы
управления на основе микроконтроллеров.
Микроконтроллеры и ПЛИС настолько удачно дополняют друг друга, что
несколько фирм приступили к выпуску БИС, интегрирующих на од-


12


СИСТЕМЫ
НА
МИКРОКОН
ТРОЛЛЕРАХ
И БИС
ПРОГРАММ
ИРУЕМОЙ
ЛОГИКИ


ном кристалле и в одном корпусе как микроконтроллер, так и матрицу
программируемой логики. В качестве примера можно привести семейство БИС
серии Е5 фирмы Triscend. Старшая модель семейства объединяет на кристалле
ядро микроконтроллера 8051, ОЗУ объемом до 64 Кбайт и матрицу
программируемой логики объемом до 3200 ячеек.
Другим примером может служить семейство FPSLIC фирмы Atmel. БИС
этого семейства включают ядро RISC-микроконтроллера AVR, статическую
память SRAM и матрицу FPGA типа АТ40К. Память разделена на ОЗУ программ,
память данных и память общего назначения. Поскольку микроконтроллер
выбирает команды из быстродействующего ОЗУ, его производительность
достигает значения 40 MIPS на частоте 40 МГц. Кроме того, к ядру AVR-
микрбконтроллера добавлен 8-разрядный умножитель. С конфигурационной
EEPROM AVR-микроконтроллер общается через интерфейс 1^С. Матрица FPGA
программируется таким образом, что разработанное устройство доступно в общем
адресном пространстве микроконтроллера.
1.2. Технология разработки
микропроцессорных контроллеров
Технология проектирования контроллеров на основе микропроцессоров и
микроконтроллеров полностью соответствует концепции неразрывности процесса
проектирования и отладки аппаратной и программной составляющих, принятой
во всей микропроцессорной технике. Единый процесс проектирования
микропроцессорной системы и ее отладки в англой-зычной литературе
обозначается словом development, мы будем употреблять термин разработка.
Важной особенностью применения контроллеров является работа в реальном
масштабе времени, т.е. гарантированная реакция на внешние события в течение
определенного интервала времени. Очевидно, что решение задачи комплексной
разработки аппаратуры и программного обеспечения в реальном масштабе
времени при произвольной структуре и схемотехнике контроллера является
весьма сложной, дорогостоящей и долговременной работой.
В качестве основного метода разработки микропроцессорных систем фирмой
Intel в 70-х годах был предложен метод внутрисхемной эмуляции. Основой этого
метода является моделирование разрабатываемой системы с использованием
средств специализированного инструментального компьютера - схемного
эмулятора. В соответствии с первоначальной идеей схемный эмулятор,
представляющий из себя по сути конструктор, должен был иметь все аппаратные
средства, которые могли понадобиться для реализации целевой системы, плюс
средства управления отладкой. Вначале контроллер конфигурировался из
аппаратуры эмулятора и разрабатыва-


ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 1 3
лась управляющая программа, далее на пустую макетную плату устанавливалась
розетка целевого микропроцессора и схемы ближайшего обрамления, эмулятор
своей эмуляционной вилкой включался в розетку вместо микропроцессора и
начинался поэтапный перенос аппаратных средств с соответствующими
программными фрагментами из эмулятора на плату контролера. Чтобы
обеспечить такой перенос, адресное пространство памяти картируется с
образованием сегментов, которые физически могут находиться как в эмуляторе,
так и на целевой плате.
Основным преимуществом метода внутрисхемной эмуляции является
упорядоченность процесса проектирования, который может быть разделен на ряд
отдельных этапов. На каждом этапе все ошибки локализованы во вновь
создаваемом аппаратном и программном обеспечении, фундаментом являются
заведомо работоспособные средства эмулятора. Основным недостатком такого
глобального подхода к эмуляции является дороговизна инструментальных
средств. Это усугублялось в первое время тем, что до появления персональных
ЭВМ фирма Intel пошла по пути создания отладочных комплексов типа Intellec в
виде собственной специализированной мини-ЭВМ с оригинальной операционной
системой ISIS.
В настоящее время средства моделирования в схемных эмуляторах, которые
мы называем имитируюищм процессором, в большинстве случаев замещают
только целевую микропроцессорную БИС и память. Разработка остальных частей
контроллера, который в настоящее время часто представляет собой сложную
систему управления, ложится на разработчика. В лаборатории
«Микропроцессорные системы» МИФИ при проектировании и отладке
микропроцессорных контроллеров используется методика типовых
функционально-топологических и программных (ФТП) модулей. Термин
функционально-топологический и программный модуль в данном случае
подразумевает, что аппаратура выполняет законченную типовую функцию,
реализована в виде устоявшейся совокупности компонент (микросхем, пассивных
элементов и т.п.) на печатной плате с определенными технологическими нормами,
процедура управления аппаратурой представляет собой программный модуль.
Топология является неотъемлемой составляющей модуля, поскольку
характеристики современной прецизионной элементной базы могут быть
реализованы только при правильном конструировании печатной платы. Таким
образом, после определения схемотехнических решений не рекомендуется
использовать автоматическое размещение элементов и трассировку, а после
получения хороших результатов эксплуатации нельзя произвольно менять
топологию функционального модуля.
Предпосылкой к использованию ФТП модулей является принцип ма-
гистрально-модульного построения систем на основе микропроцессоров и
микроконтроллеров (рис. 1.1).


Магистрально-модульная организация подразумевает, что память и
интерфейс ввода/вывода выполнены в виде модулей, которые обмениваются
информацией с микропроцессорной БИС через магистраль. Обработку данных
осуществляет микропроцессорная БИС, как правило и обмен данными ведется под
ее управлением и через ее внутренние регистры. На логическом уровне
микропроцессорная система представляется в виде регистровой модели.
Обращение микропроцессорной БИС к ячейкам памяти и регистрам модулей
ввода/вывода осуществляется по адресам, которые сводятся разработчиком в
карту памяти и устройств ввода/вывода. Параметры магистрали (разрядность шин
адреса, данных и управления, протокол и диаграммы обмена) определяются либо
каким-либо официальным стандартом, либо аналогичными параметрами
микропроцессорной БИС, которые являются в этом случае стандартом «де-
факто». Параметры магистрали во многом определяют предельные
характеристики производительности микропроцессорной системы.
Проектирование микропроцессорных контроллеров с использованием ФТМ
модулей осуществляется в два этапа. На первом этапе на макетной плате
создается и испытывается сам модуль, разрабатывается программное обеспечение
для его обслуживания. При этом макетная плата проектируется с полноценной
топологией печатных проводников, обеспечивающей согласование по волновому
сопротивлению и экранирование от наводок, но с дополнительными элементами,
обеспечивающими отладку. Модуль отлаживается во взаимодействии с
работоспособным процессорным модулем, с которым он в дальнейшем будет
объединяться на плате. На втором этапе на основе процессорного ядра и
отработанных ФТП модулей обрамления


ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 1 5
разрабатывается заказной контроллер. Очевидно, что набор ФТП модулей
в значительной степени привязан к тому процессорному ядру, с которым
был отлажен.
Особенностью микропроцессорных контроллеров является то, что они
сами интегрируются в некоторый объект (embedded controllers). Это пред-
полагает, что перед разработчиком микропроцессорной системы такого ро-
да стоит задача полного цикла проектирования, начиная от разработки
алгоритма функционирования и заканчивая комплексными испытаниями в
составе изделия, а возможно и сопровождением при производстве. Основ-
ные этапы цикла разработки микропроцессорного контроллера отображе-
ны на рис. 1.2.
Технические требования начинают цикл проектирования микропро-
цессорного контроллера. Особенностью именно микропроцессорных кон-
троллеров является то, что возможности их программирования подвигают
заказчика заложить максимально широкие функции управления, чтобы
иметь возможность использовать контроллер для управления целой гаммой
аналогичных приборов. Критерием выбора должна служить экономическая
целесообразность любого увеличения объема аппаратных средств, что оп-
ределяется в результате исследования рынка приборов данного типа, и
максимальное улучшение показателя цена/функциональные_возможности.
На этом этапе явно или неявно формулируются требования к типу исполь-
зуемого микропроцессора или микроконтроллера.
Этап разработки алгоритма управления является наиболее ответст-
венным, поскольку ошибки этого этапа обнаруживаются при испытаниях
законченного изделия и приводят к дорогостоящей переработке всей сис-
темы управления. Прорабатывается несколько вариантов алгоритма, обес-
печивающих выполнение технических требований с использованием нара-
ботанных ранее функционально-топологических модулей. Основные вари-
анты отличаются соотношением объема программного обеспечения и аппа-
ратуры. Критерием выбора является максимальное увеличение программы
и уменьшение аппаратуры при обеспечении заданных показателей быстро-
действия и надежности в полном диапазоне эксплуатационных воздейст-
вий. Часто определяющим требованием является возможность размещения
кода управляющей программы во внутренней памяти микроконтроллера,
что позволяет обеспечить ее защиту. На этом этапе окончательно опреде-
ляется тип микропроцессорной БИС и важнейших схем обрамления (flash-
памяти, ПЛИС, программируемых интерфейсов, АЦП и т.п.).
На этапе разработки структуры микропроцессорного контроллера
окончательно определяется состав имеющихся и подлежащих разработке
аппаратных модулей, протоколы обмена между модулями, типы разъемов.
Поскольку контроллер встраивается в изделие, выполняется предвари-
тельная проработка конструкции плат. В части программного обеспечения


-| 5 СИСТЕМЫ НА МИКРОКОНТТОЛЛЕРАХ И БИС ПТОГРАММИРУЕМОЙ ЛОГИКИ
определяется состав и связи программных модулей, язык программирова-
ния. На этом же этапе производится выбор средств проектирования и от-
ладки.
Содержание этапов разработки исходного текста программы, транс-
ляции и отладки логических связей на модели существенно зависит от ис-
пользуемых системных средств. В настоящее время ресурсы 8-разрядных
микроконтроллеров достаточны для поддержки программирования на язы-
ках высокого уровня. Это позволяет использовать все преимущества
структурного программирования, разрабатывать программное обеспечение
как проект с использованием раздельно транслируемых модулей. Одно-


ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 1 7
временно продолжают широко использоваться языки уровня ассемблера,
особенно при необходимости обеспечить контролируемые интервалы вре-
мени. Задачи предобработки данных часто требуют использования вычис-
лений с плавающей точкой, трансцендентных функций. В настоящее время
самым мощным средством разработки программного обеспечения для кон-
троллеров являются интегрированные кросс-системы программирования на
языках высокого уровня типа Паскаль, Си. Система Паскаль-51, например,
включает редактор текста, компилятор с редактором связей, библиотеку
стандартных функций периода выполнения и символический отладчик.
Такие системы позволяют резко сократить затраты времени на создание и
коррекцию программного обеспечения, что весьма важно, поскольку на
рис. 1.2 видно, что эти этапы составляют внутренний, наиболее часто
повторяющийся цикл в последовательности этапов разработки микропро-
цессорной системы.
Другой внутренний цикл, выполняемый параллельно, составляют эта-
пы создания аппаратуры: разработка общей прнципиальной схемы и раз-
водка топологии плат, монтаж макета и его автономная отладка. Эти этапы
можно считать завершенными после того, как «оживает» магистраль
микропроцессорной системы и через нее можно обратиться к памяти и
блокам ввода/вывода. Время выполнения этих этапов зависит от имеюще-
гося набора опробованных функционально-топологических модулей и ква-
лификации разработчика. Распространенными системами проектирования,
используемыми на этапе ввода принципиальной схемы и разработки топо-
логии являются ACCEL EDA и OrCad. Эффективность их использования
значительно зависит от имеющегося у разработчика объема библиотек ис-
пользуемых элементов.
Этап совместной отладки аппаратуры и программного обеспечения в
реальном масштабе времени является самым трудоемким и обязательно
требует использования таких высокопроизводительных средств
(development tools), как схемный эмулятор, эмулятор ПЗУ, логический
анализатор и генератор программируемых последовательностей. Выбор
одного из перечисленных средств обусловлен используемым методом от-
ладки. Этап завершается, когда аппаратура и программное обеспечение
совместно обеспечивают выполнение всех шагов алгоритма работы систе-
мы. В конце этапа код программы управления «зашивается» с помощью
программатора в энергонезависимую память и проверяется работа кон-
троллера без участия эмулятора. Отладка на этом этапе ведется в лабора-
торных условия с питанием от источника, обеспечивающего максимальную
защиту аппаратуры. Часть внешних источников информации может моде-
лироваться.
Этап интеграции контроллера в изделие заключается в повторении
работ по совместной отладке аппаратуры и управляющей программы, но


-| 3 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
при работе в собственном отсеке изделия, питании от штатного источника, с
информацией от штатных устройств и датчиков. Осложнения, как правило,
возникают из-за электромагнитной несовместимости исполнительных устройств,
разработанных ранее, с микропроцессорной системой управления. Много времени
на этом этапе уходит на ликвидацию одиночных сбоев. Эту проблему можно
решить с помощью программного резервирования, но только при наличии резерва
памяти программ. На этом же этапе проводится и калибровка прибора с
занесением параметров во flash-память.
Испытания изделия с микропроцессорным контроллером можно разделить
на комплексные и специальные. Особенностью комплексных испытаний является
то, что для наблюдением за микропроцессорным контроллеров в реальных
условиях не всегда применимы лабораторные средства отладки. Автономные
отладочные средства менее развиты и при этом существенно дороже.
Специальные испытания (на электромагнитную совместимость, климатические и
т.п.) проводятся по обычным методикам. После успешного проведения испытаний
появляется файл с окончательной версией кода управляющей программы для
программатора или для завода-изготовителя микроконтроллеров, который
осуществляет масочное программирование внутренней памяти программ.
1.3. Квазипараллельные процессы в
микропроцессорных системах управления
Задачи управления в микропроцессорных системах решаются как про-
граммно, так и аппаратно. Программную часть реализации функций управления
осуществляет модуль центрального процессора, аппаратную -
специализированные интерфейсные модули. Эти модули: последовательный порт,
контроллер прямого доступа к памяти и другие, - выполняют свои операции
преобразования данных после получения команд и данных от процессора,
работают параллельно с ним.
В традиционной системе на основе комплекта микропроцессорных БИС (рис.
1.1) результатом выполнения микропроцессором фрагмента программы являются
данные на магистрали и модифицированное содержимое регистров и ячеек
памяти данных. Ввод и вывод данных через буферы шины данных представляет
собой элементарную операцию, привязанную к тактовой сетке процессора,
поэтому можно говорить о чисто программной реализации функций управления.
События при этом отражаются сигналами на линиях магистрали. Чисто
программное управление, таким образом, реализуется там, где сигналы на линиях
магистрали могут быть использованы непосредственно для управления без
дальнейшего аппарат-


ГЛАВА 1 РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 1 9
ноге логического преобразования, например при работе с другим микро-
процессором.
Часть типовых операций управления, необходимых для связи с реальными
объектами, реализованы в традиционной системе аппаратно в виде
специализированных интерфейсных БИС. Эти операции не являются три-
виальными, поскольку реализуются сложными самостоятельно функцио-
нирующими цифровыми автоматами, преобразующими данные. Такие автоматы,
как последовательный порт, тактируются некоторым синхросигналом и проходят
в процессе работы ряд состояний. Они самостоятельно воспринимают внешние
события (сигналы) и обрабатывают их, привязка к сетке процессора производится
по прерываниям. То же касается и формирования выходных сигналов управления.
При отсутствии интерфейсной БИС с нужной операцией прежде приходилось
создавать требуемый автомат из схем малой степени интеграции.
Очевидно, что в общем случае микропроцессорная система управляет
объектами, используя комбинированную аппаратно-программную реализацию
функций управления.
Микроконтроллер отличается от микропроцессора тем, что аппаратные
операции, наиболее часто используемые в микропроцессорных системах
управления, выполняются внутренними модулями, интегрированными на
кристалл вместе с процессорным ядром. Это, кроме памяти программ и данных,
таймеры/счетчики, последовательные порты, модули АЦП и ЦАП, модули
управления электродвигателями и т.п.
Модуль процессора в микроконтроллере способен выполнять с разделением
времени несколько функций управления. При этом функции управления
реализуются как процессы на временной сетке с некоторым элементарным
интервалом времени ATjsj', и можно говорить о квазипараллельных процессах.
Организацию и взаимодействие квазипараллельных процессов управления
рассмотрим на примере работы ведущего микроконтроллера системы управления
рентгенотелевизионного аппарата. Связи платы ведущего микроконтроллера с
панелью управления и другими объектами видны из рис. 1.3.
При включении аппарата процедура инициализации ведущего микро-
контроллера устанавливает режим автоматического просвечивания, на про-
граммируемое устройство питания рентгеновского излучателя (РИ) подаются
логические сигналы управления и аналоговые сигналы уставок анодного
напряжения КС и анодного тока МС. Формируются также сигналы для блока
диафрагм, усилителя рентгеновского изображения (УРИ) и системы обработки
изображений (СОИ). Аппарат переходит в состояние готовности текущего
режима, тип и параметры режима могут изменяться с панели управления, но
высокое анодное напряжение на РИ подается толь-


20 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
ко при нажатии педали или ручного включателя. Включение высокого на-
пряжения сопровождается формированием логических сигналов в соответствии с
определенной циклограммой.
Рис. 1.3. Микропроцессорная СУ рентгенотелевизионного аппарата и
СВЯЗИ с объектами управления
При включенном РИ ведущий микроконтроллер обслуживает процесс
автоматического регулирования мощности дозы. При этом он получает цифровой
сигнал обратной связи, частота которого зависит от величины рассогласования
аналогового сигнала ОС относительно опорного значения, и формирует новое
значение кода уставки, из которого далее образуется аналоговый сигнал КС.
Каждый импульс цифрового сигнала ОС вызывает прерывание, процедура
которого инкрементирует или декрементирует внутренний счетчик
микроконтроллера, являющийся источником кЬда уставки. Между прерываниями
анализируется посылка от панели управления на предмет изменения раскрыва
диафрагм. Отпускание педали или включателя приводит к снятию высокого
напряжения с РИ, аппарат вновь переходит в состояние готовности текущего
режима. Система обеспечения безопасности функционирования формирует общий
сигнал неготовности и код ошибки. Сигнал неготовности приводит к снятию
высокого напряжения с РИ и выдаче кода ошибки на панель оператора.


ГЛАВА 1 РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 21
Из вышеизложенного можно заключить, что в сложных системах управления
ведущий микроконтроллер должен обеспечить реализацию следующих
процессов:
• формирование временной сетки с заданным элементарным интервалом;
• обслуживание подсистемы безопасности;
• формирование циклограмм сигналов управления объектами;
• регулирование параметров непрерывных процессов в аппарате на основе
анализа сигналов обратных связей.
• взаимодействие с оператором через панель управления и отдельные
включатели/педали, переключение режимов работы.
Организация параллельных процессов управления на микроконтроллерах
требует предварительного (статического) планирования их выполнения: расчета
времени, механизмов взаимодействия и необходимых ресурсов. Рассмотрим
временную диаграмму реализации перечисленных выше процессов в СУ
рентгенотелевизионного аппарата, представленную на рис. 1.4.
Каждый процесс в СУ на микроконтроллерах реализуется как после-
довательность операторов на сетке системного времени. Операторы выполняются
с использованием процедур. Процедуры могут прерывать друг друга, но
операторы определенных процессов должны быть выполнены к определенному
времени.
Рассмотрим каждый из перечисленных выше процессов. При этом мы не
будем подробнее, чем это сделано в комментариях, анализировать текст
программы. Нашей целью является анализ структуры программы и определение
времени выполнения операторов каждого из процессов. Текст фрагментов
программы служит для демонстрации того, что в развитой системе программная
реализация функций управления требует значительного времени и ресурсов из-за
необходимости реализовать взаимодействие квазипараллельных процессов.
Формирование временной сетки. Для взаимодействия процессов вначале
необходимо определить величину элементарного интервала времени и
сформировать временную сетку. Сетка формируется с использованием вы-
деленного аппаратного модуля микроконтроллера - таймера/счетчика, ра-
ботающего в режиме счета внутренних импульсов синхронизации. Таймер при
переполнении формирует запрос прерывания, процедура обслуживания которого
вызывает его перезагрузку.
Прерывание таймера системного времени должно иметь наивысший
приоритет. Поскольку процесс формирования циклограмм сигналов управления
использует интервалы системного времени и это является основой программного
управления, временная сетка должна быть непрерывной и равномерной ATf^ =
Tf^+i - Гдг =const = ЛТсистемы ? Важной задачей является определение
длительности элементарного интервала системного


22 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ и БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
времени. Слишком длительный интервал вызывает недозагрузку ведущего
микроконтроллера, ухудшение параметра «реального времени». Слишком
короткий интервал может привести к нарушению циклограмм сигналов
управления и аварийной ситуации.
Рис. 1.4. Диаграмма квазипараллельных процессов в системе управления
Если в качестве ведущего используется микроконтроллер семейства
MCS-51, то таймер (например ТО) считает машинные циклы (Тц=
12/Росц). Перезагрузка таймера системного времени производится
процедурой в две команды по два цикла, еще два цикла тратится на вход в
процедуру. Следовательно, перезагрузка выполняется за б машинных
циклов. Чтобы не накапливалась ошибка, это время должно быть учтено
коррекцией начального значения, например следующим образом:
IntTO:
mov THO, #High (TORLD+6) ; перезагрузка ст. байта ТО
mev TLO, #Low (TORLD+6) ; перезагрузка мл. байта ТО


ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 23
Таким образом, процесс формирования временной сетки включает один
оператор перезагрузки таймера, который выполняется после завершения текущего
интервала сетки. Нас интересует длительность выполнения этого оператора,
представляющая собой сумму машинных циклов его команд Е Qi ? Как указано
выше, команды занимают 6 машинных циклов микроконтроллера. При тактовой
частоте Росц = 12 МГц оператор формирования временной сетки нашего примера
выполняется за ДЬсв = 6,0 мксек.
Обслуживание подсистемы безопасности. Микроконтроллер может
обслуживать подсистему безопасности, самостоятельно анализируя значения
сигналов с некоторых датчиков, а также обрабатывая запрос прерывания от
внешней схемы контроля функционирования. Самостоятельно анализируемые
сигналы с датчиков отражают состояние медленно меняющихся параметров
аппарата - например, температуры. Результатом анализа может быть подача
сигналов предупреждения - например мигание индикатора на панели управления.
Запрос прерывания является результатом работы схемы контроля
функционирования, которая следит за быстро изменяющимися параметрами -
например, основной частотой синхронизации. При пропадании этого сигнала
запрос прерывания приводит к снятию высокого напряжения, отображению
сообщения об ошибке функционирования.
Если анализируемые сигналы с датчиков имеют логическую форму, то
процедура, реализующая оператор рассматриваемого процесса, может иметь
следующий вид;
Эта процедура читает данные с порта Р5 (микроконтроллер 80С552) и
копирует данные в регистр-образ порта OBRP5, второй и третий биты которого
хранят информацию о значениях сигналов с датчиков температуры. Если сигналы
образуются на выходах компараторов напряжения, то температурный диапазон
разбивается на три участка. Текущая температура показывается оператору
светодиодом на панели.


Мигание светодиода реализуется посредством программного счетчика
BLINK, константа перезагрузки которого TankRLD определяет частоту вспышек.
Результом работы этого фрагмента программы и процесса является
установленный флаг TankSh и значение бита IdTank (активное значение «О»
управляет зажиганием светодиода).
Команды последовательного порта на зажигание и гашение светодиода
формируются далее процедурами ТапкОп и TankOFF. Эти процедуры уже
относятся к процессу взаимодействия с оператором через последовательный порт.
Рассматриваемый процесс использует следующие ресурсы внутреннего ОЗУ
микроконтроллера:
Таким образом, процесс обслуживания подсистемы безопасности включает
один оператор, реализуется одной процедурой, выполняемой на каждом
интервале системной сетки.
Последовательность выполняемых команд в процедуре зависит от входных
условий (значений IDTP и ТР2). Наиболее длинная (в машинных циклах)
последовательность команд max (EQi) реализуется при переходе на метку КТР2 и
занимает 19 циклов микроконтроллера. При Росц~ 12 МГц время обслуживания
подсистемы безопасности нашего примера составляет ДЬбп=19,0 мксек.
Формирование временных диаграмм логических сигналов управления.
Для формирования временных диаграмм внутренних и внешних сигналов при
программном управлении используются программные счетчики, временная сетка
системы и последовательный опрос флагов, которые характеризуют активность
сигналов. При этом в течение каждого элементарного интервала системной сетки
процедура формирования циклограммы производит опрос каждого флага, при его
активности инкрементирует или декрементирует регистр счетчика сигнала, при
наличии переполнения сбрасывает флаг и изменяет значение сигнала. Таким
образом, циклограмма сигналов управления формируется с точностью не хуже
элементарного интервала системной сетки. Для реализации указанного
механизма под


ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 25
буферы счета и флаги для каждого сигнала в памяти данных микроконтроллера
должны быть выделены ресурсы. Модель части ресурсов для СУ
рентгенотелевизионного аппарата может выглядеть так;
Рис. 1.5. Модель ресурсов для обслуживания циклограммы сигналов
В модели имеются счетчики, обслуживающие циклограмму внешних
сигналов (FLUO - включение высокого напряжения, COPY, FIX - сигналы
управления СОИ) и счетчики, обслуживающие внутренние протоколы СУ
(KBLock - обслуживания клавиатуры панели управления, SHRT, DLAY, LONG -
формирования интервалов времени). Флаги событий устанавливаются в
соответствии с командами от панели управления. Отметим, что флаги и счетчики
реализуются программно и могут быть привязаны к любой ячейке памяти данных
микроконтроллера. Определенные выше ресурсы обслуживаются программой в
следующей последовательности:
• сохранение в стеке аккумулятора и регистра флагов;
• перезагрузка сторожевого таймера;
• проверка флага просвечивания FLU О, наращивание счетчика FLUOT1,
FLUOT0, проверка значения счетчика и включение звукового сигнала при
значениях времени 5 мин. и 10 мин.;
• проверка флага короткой задержки SHRTON, наращивание счетчика SHRT,
проверка значения счетчика и сброс флага при переполнении;


ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 35
• количеством линий входных и выходных сигналов. В набор сигналов
должны быть включены как внешние, так и внутренние сигналы (фла-
ги, регистры микроконтроллера), служащие для взаимодействия про-
цессов;
• типом выполняемой операции преобразования данных. Особенностью
микропроцессорной техники является использование типовых операций
типа AD- и DA-преобразований, счетчиков и т.д., которые реализова-
ны в виде модулей ввода/вывода микроконтроллеров или отдельных
микросхем. В этом случае может быть указано имя операции и разряд-
ность, например ADC-8. При реализации произвольной цифровой опе-
рации ее имя может быть связано с описанием на одном из языков ти-
па HDL;
• временем выполнения операции преобразования данных. Имеется в
виду полное время аппаратно-программной реализации, входящее в
параметр «реальное время» всей системы управления;
• временем программной реализации оператора квазипараллельного про-
цесса ;
• объемом используемых внутренних ресурсов микроконтроллера;
• объемом аппаратуры, внешней относительно ведущего микроконтрол-
лера и необходимой для аппаратной реализации операций управления.
С учетом использования в микропроцессорной технике типовых моду-
лей ввода/вывода и интерфейсных БИС можно сделать заключение, что
задача проектирования структуры аппаратных средств системы управле-
ния на микроконтроллерах представляет собой задачу анализа возможных
(применяемых) решений и отбора вариантов на основе системы критериев.
Критерии взаимодействия квазипараллельных процессов мы обсудили
в первую очередь, поскольку этот механизм является основой процесса
управления. Теперь рассмотрим топологический аспект структурных вари-
антов - спецификацию сигналов управления. Определим набор сигналов и
линий обмена нашего примера - СУ рентгенотелевизионного аппарата, в
форме, не зависящей от варианта реализации. Рассмотрим также транс-
формацию этого набора во входные и выходные сигналы микроконтролле-
ра при традиционном магистрально-модульном подходе и преимуществен-
но параллельном обмене с внешними схемами.
Взаимодействие с оператором. Взаимодействие с оператором осуще-
ствляется в основном через панель управления, отдельные команды (на-
пример, включения РИ) подаются посредством выносных ручных включа-
телей и педалей. Панель оператора представляется для системы управле-
ния как клавиатура, набор индикаторов (например, светодиодов) и дис-
плеев для отображения символьной информации. Светодиоды индицируют
активность выбранного клавишей режима, а также подают сигналы преду-


40 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
(Up_Down), логический сигнал разрешения регулирования (F_Enable).
Таким образом, для микроконтроллера функция взаимодействия с УРИ
представляется пятью цифровыми сигналами
L'ypH ~ ^'уриц
Взаимодействие с системой обработки изображений (СОИ). Систе-
ма управления выдает на СОИ шесть командных логических сигналов,
таких как вращение изображения вправо, вращение изображения влево и
т.п. Кроме того, система управления и СОИ должны обеспечить взаимо-
действие при включении и снятии рентгеновского излучения для правиль-
ного формирования видеоизображения. Для этого необходимы пять логи-
ческих сигналов: наличие режима просвечивания; запрос на подготовку
СОИ; ответ СОИ; наличие режима импульсного просвечивания; наличие
режима одноимпульсного просвечивания. Таким образом, число цифровых
сигналов и линий связи между СУ (ведущим микроконтроллером ) и СОИ
Leon - L'ycoH =11-
Контроль функционирования аппарата и обеспечение безопасности.
Подсистемы контроля функционирования и безопасности сложных устано-
вок и приборов строятся по иерархическому принципу. Нижний уровень
составляют локальные схемы защиты мощных цепей. Средний уровень
представляет собой схему анализа параметров важнейших сигналов и
формирования флагов предупреждения. Верхний уровень в микрокон-
троллерных системах реализуется системой прерываний, процедуры кото-
рых выполняют аварийный сброс системы и собирают информацию о со-
стоянии флагов предупреждений. Отображение этой информации входит в
функцию взаимодействия с оператором.
СУ рентгенотелевизионного аппарата должна обеспечить :
1. Контроль температуры излучателя РИ.
2. Индикацию на панели оператора наличия высокого напряжения на
РИ (наличия рентгеновского излучения).
3. Формирование звукового сигнала при просвечивании более 5,0 мин.
и 10,0 мин.
4. Снятие высокого напряжения с РИ при превышении временем съем-
ки значения 4,0 сек.
Кроме того, целесообразно дополнительно контролировать следующие
параметры: значения напряжений низковольтных цепей питания; напря-
жение и ток источника питания РИ; значение частоты основного системно-
го синхросигнала; готовность диафрагм; значение логического сигнала
«СОИ занята».


I фи ои1;^|ужииам1>11>1 кланиагуры ведущим микрикинфшшерим " С учетом
мультиплексированного вывода данных и младшего байта адреса через один порт. ** *С
учетом того, что шины данных и адреса уже сформированы
Данные таблицы о номенклатуре аналоговых и цифровых сигналов системы
управления определяются типом объектов управления и протоколами обмена с
ними. Эти данные являются исходными при разработке системы управления.
Набор сигналов ведущего микроконтроллера определяется вариантом структуры
системы управления. В данном случае специфицирован вариант с
преимущественно параллельным обменом через магистраль, аналоговые входы
микроконтроллера не используются.
В таблице учтено, что при обмене с устройством управления диафрагмами и
устройством контроля по 8-разрядным мультиплексированным шинам данных и
адреса общее количество цифровых сигналов сокращается с 68 до 42.
На основе проведенного анализа функций, квазипараллельных процессов и
сигналов управления объектами можно произвести выбор типа ведущего
микроконтроллера и варианта структуры системы управления.
Выбор ведущего микроконтроллера и структурного варианта системы
управления. Выбор типа микроконтроллера и структуры СУ является
итерационным процессом. В целом сущность отбора можно сформулировать как
распределение и перераспределение между ведущим микроконтроллером и
схемами его обрамления программных операторов и аппаратных операций, в
совокупности реализующих необходимые функции управления. Основной целью
является минимизация схем обрамления и выводов корпуса микроконтроллера,
реализация функций управления


44 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ и БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
преимущественно программным образом или аппаратно-программным образом с
использованием внутренних модулей микроконтроллера. Последовательность
отбора вариантов может быть следующей.
• В качестве исходного проверяется вариант структуры СУ, состоящий только
из микроконтроллера, возможно с обрамлением в виде драйверов, не
выполняющих операций преобразования данных. Выбирается
микроконтроллер, у которого количество выводов портов и служебных линий
обслуживания обмена минимально превышает количество линий системы
управления. Этот микроконтроллер должен быть обеспечен
инструментальными средствами (система программирования, схемный
эмулятор). Для этого варианта выполняется планирование и расчет времени
квазипараллельных процессов на основе критериев, приведенных в
предыдущем параграфе.
• Если не найден микроконтроллер, способный обеспечить непосредственное
формирование нужного числа сигналов системы управления, или внутренние
модули ввода-вывода не могут обеспечить нужного набора операций, или
квазипараллельные процессы с привлечением внзггренних модулей не
обеспечивают нужного значения параметра реального времени т, то нужно
использовать внешние схемы обрамления. При сложной панели управления в
первую очередь целесообразно рассмотреть вариант, в котором панель
обслуживается ведомым микроконтроллером и связь с ведущим
микроконтроллером осуществляется через последовательный канал.
• При использовании внешних схем обрамления важнейшим моментом
является определение типа обмена их с микроконтроллером: параллельный
или последовательный. Критерием является время выполнения функций
управления при выполнении операций преобразования данных внешними
схемами. Часто это время определяется скоростью операций аналого-
цифрового и цифро-аналогового преобразований. В системах на
микроконтроллерах в настоящее время характерной скоростью таких
операций является значение 1,5 - 2,0 Мбит/сек. Эту скорость может
обеспечить последовательный интерфейс SPI при тактовой частоте
микроконтроллера 6-8 МГц. Если скорость выше и выбран параллельный
обмен, то большинство внешних схем должно поддерживать этот протокол,
поскольку уже существующая магистраль позволяет сократить количество
линий обмена (см. предыдущую таблицу). Использование последовательных
интерфейсов существенно сокращает объем аппаратуры и позволяет вынести
внешние схемы к объектам управления.
• При использовании внешних схем обрамления могут высвободиться выводы
портов микроконтроллера. При наличии у микроконтролера внутреннего
модуля АЦП, входы которого мультиплексированы с ли-


ГЛАВА 1 РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ 45
ниями цифровых портов, следует освободить именно эти выводы и ис-
пользовать их для выполнения функций контроля или регулирования. При
выборе варианта следует обратиться к циклограммам квазипараллельных
процессов, откуда видно, что оператор контроля занимает фиксированное
время в каждом системном интервале, а оператор регулирования распределен
по нескольким интервалам и не предъявляет жестких требований к величине
интервала системного времени.
• При освобождении линий цифровых портов после добавления к структуре
системы внешней схемы в качестве очередного варианта следует по
циклограммам квазипараллельных процессов провести расчет возможности
программной реализации всех остальных цифровых сигналов (расширение
набора сигналов процесса формирования циклограмм).
• В завершение отбора вариантов при наличии свободных выводов следует
проверить возможность применения микроконтроллера выбранной
архитектуры с меньшим количеством выводов корпуса.
Исходя из предыдущей таблицы и с учетом приведенных критериев в
качестве ведущего микроконтроллера рассматриваемого примера может быть
выбран микроконтроллер типа MCS-51, у которого пользователю предоставлены
6 портов, например Siemens SAB 80С537 или Philips 87С552.
1.5. Особенности систем управления на
микроконтроллерах и ПЛИС
Комбинированное применение микроконтроллеров и ПЛИС в системах
управления может быть осуществлено в следующих формах.
• Описание функций микроконтроллера известной архитектуры (или его части)
на языке HDL, описание функций внешних специализированных модулей,
компоновка иерархического проекта и загрузка файла, описывающего всю
систему управления, в одну СБИС программируемой логики. Основными
проблемами такого подхода являются: верификация проекта,
тестопригодность системы, необходимость использования дорогостоящего
оборудования и печатных плат с очень высокими технологическими нормами.
• Использование СБИС, объединяющей на кристалле микроконтроллерное ядро
и матрицу программируемой логики. Это могут быть упомянутые выше
изделия фирм Triscend и Atmel. Такой подход позволяет выполнить
предварительное макетирование частей системы, но вопросы верификации
всего проекта и отладки системы управления совместно с объектами остаются
сложными.


46 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ
• Совместное использование БИС микроконтроллеров и ПЛИС, связанных
преимущественно через последовательные интерфейсы. Один из
микроконтроллеров может выполнять функции ведущего и по командам
оператора осуществлять общее управление (переключать режимы, управлять
памятью данных и т.п.). ПЛИС способна быстро выполнить операции
преобразования данных, формально описанные на одном из языков HDL,
причем в одну микросхему могут быть упакованы операции различных
функций управления. Преимуществом этого подхода являются: доступность
линий связи между компонентами и тестопри-годность всей системы
управления, невысокая стоимость разработки и производства системы.
В качестве примера рассмотрим вариант системы управления рентгеноте-
левизионного аппарата, в котором ведущий микроконтроллер и ПЛИС связаны по
интерфейсу SPI, функционируют параллельно и выполняют общие
распределенные функции управления.
В данном примере ПЛИС выполняет роль расширителя портов и су-
щественно сокращает число линий ввода-вывода микроконтроллера, а также
осуществляет контроль частоты синхронизации системы управления и формирует
общий сигнал неготовности. Схема связи микроконтроллера с ПЛИС через
интерфейс SPI приведена на рис. 1.10.
Рис. 1.10. Связь микроконтроллера и ПЛИС через интерфейс SPI
В данном случае SPI-yстройство, реализованное на ПЛИС, имеет два 16-
разрядных сдвиговых регистра. Один из них работает только на вывод данных из
микроконтроллера, другой - только на ввод.
Устройство, реализованное на ПЛИС, содержит схемы обрамления, <оторые
реализуют следующие операции:


АРХИТЕКТУРА MCS-51
2.1. Особенности архитектуры MCS-51
Архитектура MCS-51 фирмы Intel была в свое время определена на-
столько удачно, что является сегодня, по существу, одним из стандартов
«де-факто» на мировом рынке 8-разрядных микроконтроллеров. Эту архи-
тектуру воспроизводит в том или ином виде в своих изделиях ряд фирм.
По совокупному объему производства этих фирм микроконтроллеры
MCS-51 занимают первое место.
Понятие «архитектура» микроконтроллеров далее трактуется как со-
вокупность внутренних и внешних программно доступных ресурсов, сис-
темы команд, системы прерываний, функций ввода/вывода и протоколов
обмена по магистрали. Архитектура воплощается производителем в виде
набора связанных функционально-топологических модулей. Конкретный
микроконтроллер представляет собой определенную комбинацию этих мо-
дулей, основой которой является операционное ядро («core» у фирмы
Intel).
Исходная архитектура MCS-51 характеризуется следующими особен-
ностями:
• архитектура «гарвардская», т.е. память программ и данных разделе-
ны;
• операционное ядро имеет «аккумуляторную» организацию, т.е. ре-
зультат операции, как правило, помещается в регистр-аккумулятор;
• 8-разрядное АЛУ с аппаратным умножителем обрабатывает целочис-
ленные операнды;
 
Сайт управляется системой uCoz